﻿// 4415. 点的赋值.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/4418/

给定一个 n
 个点 m
 条边的无向无权图。

点的编号为 1∼n
。

图中不含重边和自环。

现在，请你给图中的每个点进行赋值，要求：

每个点的权值只能是 1
 或 2
 或 3
。
对于图中的每一条边，其两端点的权值之和都必须是奇数。
请问，共有多少种不同的赋值方法。

由于结果可能很大，你只需要输出对 998244353
 取模后的结果。

输入格式
第一行包含整数 T
，表示共有 T
 组测试数据。

每组数据第一行包含两个整数 n,m
。

接下来 m
 行，每行包含两个整数 u,v
，表示点 u
 和点 v
 之间存在一条边。

输出格式
一个整数，表示不同赋值方法的数量对 998244353
 取模后的结果。

数据范围
前三个测试点满足 1≤T≤6
，∑i=1Tm≤50
。
所有测试点满足 1≤T≤3×105
，1≤n≤3×105
，0≤m≤3×105
，1≤u,v≤n
，∑i=1Tn≤3×105
，∑i=1Tm≤3×105
。

输入样例：
2
2 1
1 2
4 6
1 2
1 3
1 4
2 3
2 4
3 4
输出样例：
4
0
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 